iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
Software Development

程式菜鳥自學C++資料結構演算法系列 第 2

[Day02] 程式菜鳥自學C++資料結構 – 簡單QA

  • 分享至 

  • xImage
  •  

程式語言百百種,C++的優勢在哪?
C++是一種使用廣泛的電腦程式設計語言,繼承C語言數據類型豐富、表達力強等各種優點;非常通用,幾乎各個平台都能使用。且C++擁有C語言沒有的「物件導向設計」,讓C++在更改及除錯上更加直觀,主程式碼也會獲得簡化。擴展性、移植性強的C++再加上不輸C語言的強大效率,讓它成為高手之間重要的武器。

學了C++,這些技術可以運用在那些地方?
應用軟體、伺服器端開發、系統軟體和圖形處理、數字計算、嵌入式裝置開發、遊戲軟體開發、硬體驅動、網路安全方面等等。
因為C++具有高階程式語言和組合語言的特性且編寫不依賴計算機硬體的應用程式,C++的應用可以說是極其廣泛,上述的例子只是常見的領域。
在未來發展上,近期非常熱門的AR、VR虛擬實境、機器學習、AI人工智能也會用到大量的C++語彙進行編譯。

甚麼是資料結構?學這個有甚麼用?
簡而言之資料結構就是電腦中儲存、組織資料的方式,常見的資料結構有
陣列(Array)https://ithelp.ithome.com.tw/upload/images/20210916/20140187mk2j9ouRfI.jpg、樹(Tree)https://ithelp.ithome.com.tw/upload/images/20210916/20140187wLcvNoE8OK.png 等等。不同的資料結構對不同演算法的效率也會有影響,選擇適當的資料結構也是一項重要工作,學會更多不同的資料結構絕不是甚麼吃虧事。

常常聽到演算法,為何演算法如此重要?
就算沒有任何資訊相關背景的人也一定有聽過「演算法」這三個字,再逛youtube的時候是不是常常在留言區看到「我被演算法帶來這啦!」、「讚嘆神奇演算法」之類的評論呢?那這個驗算法究竟是甚麼?
其實演算法就是一種解決問題的邏輯思維!而這樣的思維邏輯可以透過代碼、流程圖、電子電路、數學等等之類的方法實現。
用什麼方法策略解決問題,就是演算法存在的目的。

資料結構和演算法經常一起出現,他們之間有甚麼關係?
就像上面提到的,不同的資料結構對不同演算法的效率也會有影響,但不只如此,這兩個是相輔相成的,如果只有資料結構沒有演算法,相當於只把資料儲存到計算機中而沒有有效的方法去處理;而演算法沒有用相應的資料結構儲存,就會帶來極差的效率,這兩者之間是1+1>2的存在。

程序語言Pascal的創建者曾說過:「演算法+資料結構=程序」
可見料結構和演算法的基礎和重要性,如果是就讀資訊相關科系的同學,在考研究所時基本一定有這兩科,但是也不用到太緊張,因為在生活中其實就有不少相關的例子喔!如果能將其融入生活中,再將學到的部分變成自己的語言,相信有心的你一定能夠理解!!!下一篇就要開始講解線性串列的陣列囉!


上一篇
[Day01] 程式菜鳥自學C++資料結構 – 前言導讀
下一篇
[Day03]程式菜鳥自學C++資料結構演算法 – 常見的線性串列其一:陣列Array List
系列文
程式菜鳥自學C++資料結構演算法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言